diamond problem in c